The present invention relates to data storage systems, and more particularly, this invention relates to methods and systems for maintaining data integrity when moving virtual machines across systems.
In many storage systems, there are instances in which a device in a storage unit is held such that a specific host system has exclusive access to the device. This is typically accomplished by issuing a command from a host system to a control unit which controls the device. The exclusive access to the device is maintained by the host system until the host releases this exclusive access. In general, this command may be held in order to maintain consistency of data on this device when changes are occurring, e.g., another server is not able to access the data on this held device while the host system makes changes to the data on the device. In addition to holding this device, there are conditions in which the host system may transfer this exclusive access to this device to another (host) system. In typical storage systems, this can be done by the target host system querying the current state of the device that is being held to verify that the source host is actually holding the access to this device. After this point, the target host system or source host system issues an unconditional command to take or reassign the access to this device unconditionally. By unconditionally, what is meant is that this command takes control of or reassigns the access to this device regardless of any other ownership or control by another entity, e.g., this unconditional command takes the access to this device no matter which entity is holding the device.